|
CATIA V5 Programmierung : Drawing / Seitenzahl / Parameter / Variable / Formel
C.Samer am 29.09.2017 um 09:41 Uhr (1)
Hallo liebe Community!Ich versuche gerade die max. Seitenzahl (und anschließend auch die aktuelle Seite) als Parameter mit einem Textfeld zu verknüpfen. Ich hätte gerne, dass sich der Text automatisch aktualisiert, wenn ich eine zusätzliche Seite hinzufüge.Leider funktioniert mein folgender Code nicht. Der Parameter SheetsMax wird einfach nicht auf die Seitenzahl gesetzt und bleibt immer 999.Irgendwelche Vorschläge?Code: Dim pParameter As Parameter On Error Resume Next oDrwDocument.Parameters.Remove("S ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Drawing / Seitenzahl / Parameter / Variable / Formel
C.Samer am 02.10.2017 um 10:11 Uhr (1)
Hallo Bernd,danke für deine Antwort. Alles klar, dann muss ich es wohl doch manuell machen lassen!
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Formel Gewicht / Dichte
C.Samer am 09.08.2017 um 13:44 Uhr (1)
Hallo Monka,danke für deinen Beitrag. Dein Vorschlag war/ist meine Lösung bisher Leider muss man die Aktualisierung von IntertiaVolume immer erzwingen.Das passiert nicht automatisch! Catia wird weiters sehr langsam beim Verschieben/Positionieren von Bauteilen.Das kann man durch Deaktivieren vonCode:Tools - Optionen - Parameter und Messung - Automatische Aktualisierung im Produktverhindern.Ist aber alles nicht so sauber wie ich es gerne hätte. Habe gehofft jemand kennt eine schönere Lösung
|
| In das Form CATIA V5 Programmierung wechseln |
 |
CATIA V5 Programmierung : Aktivierungsstatus der Komponente / Component Activation State
C.Samer am 16.08.2017 um 12:09 Uhr (15)
Du bist genial Bernd! Für alle zukünftigen Leidensgenossen, hier ein funktionierendes Codebeispiel:Code:Dim iObjectPos As IntegerDim iObjectMax As Integer iObjectMax = 0 iObjectPos = 0Function countMaxObjects(p As Product) iObjectPos = iObjectPos + 1 CATIA.StatusBar = "Counting Active Objects: " & iObjectPos Catia.RefreshDisplay = True Dim oRootProduct As Product Set oRootProduct = p.parent.parent Dim oInstanceProduct As Product Set oInstanceProduct = p Dim oParameterActi ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Input Box Position
C.Samer am 08.02.2018 um 14:07 Uhr (1)
@runkelruebe: Die InputBox wird ohne Parameter leider nicht auf der zuletzt aktiven Anzeige angezeigt, sondern auf jener, welche in Windows als Hauptanzeige definiert ist :SHabe noch weiter probiert und habe den Fehler herausgefunden!Der xPos Wert der Funktion InputBox ist intern als Integer definiert, welcher nur bis 32767 geht....Kann ich denn die Funktion irgendwie abändern? Kennt jemand ne andere Eingabe-Lösung in CATScript? [Diese Nachricht wurde von C.Samer am 08. Feb. 2018 editiert.]
|
| In das Form CATIA V5 Programmierung wechseln |
 |
CATIA V5 Programmierung : Aktivierungsstatus der Komponente / Component Activation State
C.Samer am 09.08.2017 um 11:13 Uhr (15)
Hallo liebe Community,ich habe schon einiges darüber recherchiert, aber mir ist meine jetzige LösungCode:actProd.Parameters.Item(actProd.Parent.Parent.PartNumber & "" & actProd.Name & "" & "Component Activation State")einfach viel zu langsam. Bei kleine Baugruppen funktioniert diese Methode sofort, bei großen Baugruppen warte ich teilweise bis zu 10 Sekunden Der alternative CodeCode:actProd.Parameters.Item("Aktivierungsstatus der Komponente")dauert sogar noch länger!Eine weitere AlternativeCode:actProd.Par ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Technologische Ergebnisse erzeugen
C.Samer am 11.12.2017 um 10:35 Uhr (1)
Hier noch ein Beispiel:Code:Sub CATMain() Set oSel = CATIA.ActiveDocument.Selection Set oItem = oSel.Item(1).Value Catia.ActiveDocument.Selection.Clear() Catia.ActiveDocument.Selection.Add(oItem) CATIA.StartCommand "Create Technological Results"End Sub Der Code funktioniert nur, wenn ich das Part blau markiere und den Body orange Liebe Grüße,Christoph
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : RootProdukt aktivieren
C.Samer am 24.10.2017 um 09:08 Uhr (1)
Funktioniert das vielleicht irgendwie mit InWorkObject?Code:Catia.ActiveDocument.part.InWorkObject = mainBodyNewLiebe Grüße aus Wien,ChristophEdit: Hmm, wohl eher nicht :/Zitat:o Property InWorkObject( ) As AnyObject Returns or sets the in work object of the part. The in work object is the object after which a new object is added. Example: Code:Set partRoot = partDoc.Part Set partRoot.InWorkObject = cylindricPad If ( partRoot.InWorkObject cylindricPad ) Then MsgBox "There is a big problem" End IfEd ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Zeichnungsrahmen mit Makro einfügen
C.Samer am 15.12.2017 um 10:10 Uhr (1)
Von einem Makro eine Variable an ein anderes Makro übergeben, klingt für mich, ohne das aufgerufene Makro anzupassen, unmöglich. Ich würde den CATIA "Standard Zeichnungsrahmen" anpassen.StattCode:If Not CATInit(targetSheet) Then Exit Subwürde ich z.B.Code:If Not CATInit(CATIA.ActiveDocument.DrawingRoot.Sheets.ActiveSheet) Then Exit Subversuchen, wobei ich nicht weiß wie targetSheet bei dir deklariert ist.Liebe Grüße aus Wien,Christoph
|
| In das Form CATIA V5 Programmierung wechseln |
 |
CATIA V5 Programmierung : Technologische Ergebnisse erzeugen
C.Samer am 11.12.2017 um 10:04 Uhr (15)
Edit: Habe eine (leider langsame) Lösung gefunden.Der Befehl Code:CATIA.StartCommand "Create Technological Results" funktioniert nur im PartDesign. Daher: Body selektieren und dann per Code:CATIA.StartWorkbench "PrtCfg" ins PartDesign wechseln bevor ihr Technologische Ergebnisse hinzufügt.Liebe Grüße aus Wien,Christoph :) -------------------------------------------------------------Hallo liebe Community!Ich versuche gerade ein Makro zu schreiben, welches allen Parts eines Produkts "Technologische Ergeb ...
|
| In das Form CATIA V5 Programmierung wechseln |
 |
CATIA V5 Programmierung : GetMaterialOnPart Freeze
C.Samer am 03.05.2017 um 12:06 Uhr (15)
Hallo!Ich habe ziemlich lange gesucht und keine passende Lösung für dieses Problem gefunden,deswegen möchte euch meine zur Verfügung stellen.Das Problem:Catia friert beim Auslesen des Materials ein.Der funktionierende Code:Code:Dim oManager As MaterialManagerDim oMaterial As Material : Set oMaterial = NothingSub CATMain() Dim oProduct As Product : Set oProduct = CATIA.ActiveDocument.Product Dim oPart As Part : Set oPart = CATIA.ActiveDocument.Part Set oManager = oPart.GetItem("CATMatMa ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : Verzeichnis aus Tools-Optionen auslesen
C.Samer am 15.12.2017 um 11:32 Uhr (1)
Hey, du könntest stattdessen das Userverzeichnis nehmen. Sieh mal wie ich es beim Company-Logo mache:Code: Dim fso As FileSystemObject Set fso = CreateObject("Scripting.FileSystemObject") If Not fso.FileExists(sPicturePath) Then sPicturePath = "C:Users" & sUsername & "DocumentsCATIAMasterSettingsPicturesLOGO.jpg" If Not fso.FileExists(sPicturePath) Then MsgBox "Company logo not found." & vbCrlf & "Please copy the company logo to:" & vBCrLf & vBCrLf & sPicturePath,vbOKOnly Or vbCritical, ...
|
| In das Form CATIA V5 Programmierung wechseln |
|
CATIA V5 Programmierung : SelectElement2 NUR im Strukturbaum zulassen
C.Samer am 10.09.2019 um 13:42 Uhr (1)
Hallo!Frage1:Ist es möglich die Auswahl von SelectElement2 NUR im Strukturbaum zuzulassen?Ich möchte die Auswahlrestriktion (veränderter Mauszeiger) von SelectElement2 beibehalten.Frage 2:Ist es möglich von einem im 3D-Modell selektiertem Element zuverlässig auf das Element im Strukturbaumzu schließen? Bsp. ich selektiere einen Teil einer gebrochenen Linie im 3D und möchte aber die gesamte Linie selektieren.(Zuverlässig, d.h. ohne .Parent)Hier ein winziger Teil meines Codes für die Selektion einer Linie:Co ...
|
| In das Form CATIA V5 Programmierung wechseln |